Distributed thinking